package com.sky.service;

import com.sky.dto.EmployeeDTO;
import com.sky.dto.EmployeeLoginDTO;
import com.sky.dto.EmployeePageQueryDTO;
import com.sky.entity.Employee;
import com.sky.result.PageResult;

public interface EmployeeService {

    /**
     * 员工登录
     *
     * @param employeeLoginDTO
     * @return
     */
    Employee login(EmployeeLoginDTO employeeLoginDTO);

    /**
     * @MethodName: save
     * @Author 冰白寒祭
     * @Description: 新增员工
     * @Date: 2023/8/29 0029 21:14
     */
    void save(EmployeeDTO employeeDTO);

    /**
     * @MethodName: pageQuery
     * @Author 冰白寒祭
     * @Description: 员工分页查询
     * @Date: 2023/8/30 15:01
     */
    PageResult pageQuery(EmployeePageQueryDTO employeePageQueryDTO);

    /**
     * @MethodName: startOrStop
     * @Author 冰白寒祭
     * @Description: 账号禁用与启用
     * @Date: 2023/8/30 21:24
    */

    void startOrStop(Integer status, Long id);

    /**
     * @MethodName: getById
     * @Author 冰白寒祭
     * @Description: 根据id查询员工
     * @Date: 2023/8/31  8:19
     * @param: id
    * @return: Employee
    */
    Employee getById(Long id);

    /**
     * @MethodName: update
     * @Author 冰白寒祭
     * @Description: 编辑员工信息
     * @Date: 2023/8/31 8:33
     * @param: employeeDTO
    */
    void update(EmployeeDTO employeeDTO);
}
